<?php
namespace plugins\appmarket\controller; //Demo插件英文名，改成你的插件英文就行了
use cmf\controller\PluginAdminBaseController;//引入此类
use think\Db;
use think\Validate;
use app\common\lib\AccessAuthorization;

/**
 * 模块分类管理
 */
class ModuleCategoryController extends PluginAdminBaseController
{
   	protected function _initialize()
    {
        parent::_initialize();
        $adminId = cmf_get_current_admin_id();
        //获取后台管理员id，可判断是否登录
        if (!empty($adminId)) {
            $this->assign("admin_id", $adminId);
        }
    }

    /**
     * 模块分类管理首页
     * @adminMenu(
     *     'name'   => '模块分类管理',
     *     'parent' => 'AdminIndex/index',
     *     'display'=> true,
     *     'hasView'=> true,
     *     'order'  => 1000,
     *     'icon'   => '',
     *     'remark' => '模块分类管理',
     *     'param'  => ''
     * )
     */
    public function index()
    {
    	//获取所有分类信息
    	$list = Db::name( 'module_category' )->where( 'status' , 1 )->select()->toArray();
    	$this->assign( 'categoryList' , $list );
    	return $this->fetch();
    }

    /**
     *添加分类页面
     *@adminMenu(
     *     'name'   => '添加分类',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 1000,
     *     'icon'   => '',
     *     'remark' => '添加分类',
     *     'param'  => ''
     * )
     */
    public function add()
    {
    	return $this->fetch( 'module_category/add' );
    }

    /**
     * 编辑分类页面
     *@adminMenu(
     *     'name'   => '编辑分类',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 1000,
     *     'icon'   => '',
     *     'remark' => '编辑分类',
     *     'param'  => ''
     * )
     */
    public function edit( $id )
    {
    	$info = Db::name('module_category')->where( 'id' , $id )->find();
    	$this->assign( 'info' , $info );
    	return $this->fetch( 'module_category/add' ); 
    }

    /**
     * 添加/修改分类
     * @adminMenu(
     *     'name'   => '分类信息提交',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 1000,
     *     'icon'   => '',
     *     'remark' => '分类信息提交',
     *     'param'  => ''
     * )
     */
    public function operateCategory()
    {
    	$data = $this->request->param();
    	$id = $data ['id'];
    	$name =  trim( $data ['name'] );

    	$insert = [
    		'name' => $name,
    		'parent_id' => 0,
    		'status' => 1
    	];
  		
  		if( empty( $id ) ){
  			//添加分类
  			$res = Db::name( 'module_category' )->insertGetId( $insert );
  			if( !$res ){
  				return zy_json_echo(false ,'新增分类失败，请稍后再试！');
  			}
  			return zy_json_echo(true ,'新增分类成功！');
  		}else{
  			//修改分类
  			$res = Db::name( 'module_category' )->where( 'id' , $id )->update( [ 'name'=> $name] );
  			if( !$res ){
  				return zy_json_echo(false ,'修改分类失败，请稍后再试！');
  			}
  			return zy_json_echo(true ,'修改分类成功！');
  		}
    	
    }

    /**
     * 删除分类
     * @adminMenu(
     *     'name'   => '删除分类',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 1000,
     *     'icon'   => '',
     *     'remark' => '删除分类',
     *     'param'  => ''
     * )
     */
    public function delete($id)
    {
    	$res = Db::name( 'module_category' )->where( 'id' ,$id )->delete();
    	if( !$res ){
    		return zy_json_echo(false , '删除失败，请稍后再试！');
    	}
    	return zy_json_echo(true ,'删除成功！');
    }

    /**
     * 获取分类列表
     */
    public static function getCategory()
    {
        $list = Db::name( 'module_category' )->where( 'status' , 1 )->field( 'id,name' )->select()->toArray();
        return $list;
    }

}